Entertainment apparatus, storage medium and object display method

ABSTRACT

In the case of displaying a moving picture obtained by photographing an object moving in a virtual three dimensional field by the use of a virtual camera, behavior of the object is made to be grasped more easily from the moving picture displayed on a display screen of a display device. A camera setup point  606,  which is a setup point of the virtual camera  609,  is settled so that the camera setup point  606  approaches a camera chasing point  604  settled to the rear of a position  602  on a line which passes through the position  602  of the object  601  and parallel with a moving direction of the object, from a camera setup point  606′  obtained at least in the last calculation.

[0001] This application claims a priority based on Japanese PatentApplication No. 2000-12810 filed on Jan. 21, 2000, the entire contentsof which are incorporated herein by reference for all purposes.

BACKGROUND OF THE INVENTION

[0002] The present invention relates to a technology for forming amoving picture obtained by photographing an object with a virtualcamera, and displaying the moving picture on a display screen of adisplay device. The object moves in a virtual three dimensional field inaccordance with manipulation contents conducted by a user, themanipulation contents being accepted via a controller.

[0003] Entertainment apparatuses such as a TV game machine, which iscapable of performing a flight simulation and a drive simulation by theuse of a three dimensional graphic animation, have been recently spread.

[0004] In this kind of entertainment apparatuses, a player controls anobject representing an airplane, an automobile and the like by the useof a controller connected to the entertainment apparatus, and can allowthe object to move in a virtual three dimensional field. Thisentertainment apparatus generates a moving picture obtained byphotographing the object moving in this three dimensional field by theuse of a virtual camera, and displays the moving picture on a displayscreen of a display device connected thereto.

[0005] Incidentally, in the conventional entertainment apparatus capableof performing the flight simulation and the drive simulation, thevirtual camera is set at a position determined uniquely (fixedly)depending on a positional relation between the camera and the object.

[0006]FIGS. 15A and 15B are drawings for explaining a positionalrelation between an object (an object representing an airplane) 901 anda virtual camera 902 in this kind of conventional entertainmentapparatus. Hereupon, FIG. 15A shows a state where the object 901 and thevirtual camera 902, which are disposed in a three dimensional field, areoverlooked just from above, that is, from an infinitely long distance ofthe Z-axis, and FIG. 15B shows a state where the object 901 and thevirtual camera 902, which are disposed in the three dimensional field,are viewed just from the side, that is from an infinitely long distanceof the X-axis. Note that illustrations of map constituent elementsdisposed in the three dimensional field are omitted in these drawings.

[0007] As illustrated in FIGS. 15A and 15B, in the conventionalentertainment apparatus capable of performing the flight simulation andthe drive simulation, the virtual camera 902 is set at a camera setuppoint A, that is, a position higher by a predetermined distance H than aposition to the rear of the object 901 by a predetermined distance L.The camera setup point A is disposed above a line 903 passing throughthe object 901 along the moving direction of the object 901.Alternatively, the virtual camera 902 is set at a camera setup point B,that is, a position of the object 901. A sight line of the virtualcamera 902 is settled so as to be pointed at an arbitrary point on theline 903 further in front of the object 901.

[0008]FIGS. 16A and 16B are schematic views showing a pictorial imageobtained by photographing the object 901 by the use of the virtualcamera 902, which is disposed as illustrated in FIGS. 15A and 15B. Here,FIG. 16A shows an example of the pictorial image obtained by the virtualcamera 902 when the virtual camera 902 is set at the camera setup pointA in FIGS. 15A and 15B, and FIG. 16B shows an example of the pictorialimage obtained by the virtual camera 902 when this camera 902 is set atthe cameral setup point B in FIGS. 15A and 15B.

SUMMARY OF THE INVENTION

[0009] In the conventional entertainment apparatus capable of performingthe flight simulation, the drive simulation and the like as describedabove, the virtual camera is set at the position determined uniquely(fixedly) depending on the relative position between the virtual cameraand an object. Accordingly, the conventional entertainment apparatus hascaused the following problems.

[0010] Specifically, a display position and a posture of the object on adisplay screen are constant irrespective of a flight/driving state(straight, turn or the like) of the object, and the flight/driving stateappears as a movement of topography displayed around the object.Therefore, the conventional entertainment apparatus cannot reflectmanipulation contents of a player received via the controller on thedisplay position and a posture of the object displayed on the displayscreen, and hence the player cannot enjoy controlling the objectsatisfactorily.

[0011] Accordingly, in an entertainment apparatus displaying movingpicture on a display screen of a display device, the moving picturebeing obtained by photographing an object, which moves in a virtualthree dimensional field, by the use of a virtual camera, the objectiveof the present invention is to make it possible for a player to grasp abehavior of the object in the three dimensional field more easily fromthe moving picture displayed on the display screen of the displaydevice.

[0012] In an entertainment apparatus in which a player can control theobject moving in the virtual three dimensional field by the use of acontroller for a flight simulation, a drive simulation and the like,another objective of the present invention is to make it possible forthe player to enjoy controlling the object satisfactorily. Specifically,the present invention is to make it possible for the manipulationcontents, which the player entered to the object, to be reflected on theobject on the display screen.

[0013] To achieve the foregoing objectives, in the entertainmentapparatus of the present invention, which forms a moving pictureobtained by photographing an object (objects representing, for example,an airplane and an automobile) moving in a virtual three dimensionalfield by the use of a virtual camera, and displays the moving picture ona display screen of a display device, a position and a moving directionof the object in the three dimensional field are sequentiallycalculated. Then, every time the position and the moving direction ofthe object are calculated, a setup point of the virtual camera in thethree dimensional field is determined in consideration of a setup pointof the virtual camera obtained at least in the last calculation.

[0014] For example, a camera chasing point is settled at a positionhigher by a predetermined value H than a position, which is located tothe rear of the position of the object by a distance K, the positionbeing on a line which passes through a newly calculated position of theobject and is parallel with a newly calculated moving direction of theobject. Then, a setup point of the virtual camera is settled at aposition approaching the camera chasing point from the virtual camerasetup point obtained at least in the last calculation. This setup pointof the virtual camera is settled, for example, at a position approachingthe camera chasing point from the setup point of the virtual cameraobtained at least in the last calculation by a distance L/M, which isobtained by dividing a distance L between the camera chasing point andthe setup point of the virtual camera obtained at least in the lastcalculation by a predetermined value M.

[0015] With such constitution, since previous setup points of thevirtual camera are taken into consideration in determining the setuppoint of the virtual camera, the virtual camera behaves so as to chaseafter the object a little later than the motion of the object. For thisreason, grasping the behavior of the object in the virtual threedimensional field through the display screen becomes easy. Therefore, inthe case where a player controls the object by using the controllerconnected to the entertainment apparatus of the present invention, theplayer easily grasps the behavior of the object controlled byhimself/herself in the virtual three dimensional field through thedisplay screen. In addition, the feeling of being is increased andentertainingness is improved.

[0016] In the above-described example, the distance K may be set so asto be shorter as a moving speed of the object is increased. If thedistance K is set to be shorter, the feeling of being is increased andthe entertainingness is improved. However, in this case, though thecamera chasing point is closer to the object as the moving speed of theobject is increased, the distance K should preferably set so that thecamera setup point leaves the object as the moving speed of the objectis more increased. In other words, the distance K should be set so thatthe camera setup point moves further behind relative to the movingdirection of the object as the moving speed of the object is moreincreased.

[0017] In the actual world, when someone drives an automobile or pilotsan airplane, he or she must pay attention generally to the broader andfarther surroundings with an increase of a moving speed. By setting thedistance K as described above, similarly to the actual world, when theplayer increases the moving speed of the object by using the controller,a pictorial image surrounding the object taken (that is, the pictorialimage displayed on the display screen of the display device) by thevirtual camera becomes wider depending on an increase amount of themoving speed. Therefore, operability when the moving speed of the objectis increased is improved.

[0018] Moreover, in the present invention, a camera reference point issettled at a position, which is located in front of the position of theobject by a distance J, the position being on a line which passesthrough a newly calculated position of the object, and is parallel witha newly calculated moving direction of the object. Then, a sight linedirection maybe set so that the virtual camera is pointed at the camerareference point. In addition, the distance J may be set so that thedistance J is longer as the moving speed of the object in the threedimensional field is increased.

[0019] With such constitution of the entertainment apparatus of thepresent invention, when the player increases the moving speed of theobject by using the controller, a pictorial image surrounding the objecttaken by the virtual camera, that is, the pictorial image displayed onthe display screen of the display device, expands farther depending onthe increase amount of the moving speed. Therefore, operability when themoving speed of the object is increased is improved.

[0020] Still further, in the present invention, the virtual camera maybe rotated around the sight line direction as an axis depending on therotation of the object around the moving direction thereof as an axis.With such rotation of the camera, the feeling of being is increased andentertainingness is improved.

BRIEF DESCRIPTION OF THE DRAWINGS

[0021]FIG. 1 exemplifies an appearance of an entertainment apparatus 1and a controller 20 to which an embodiment of the present invention isapplied.

[0022]FIG. 2 is a perspective view showing the controller 20 in FIG. 1.

[0023]FIG. 3 is a diagram for explaining values that can be entered intothe entertainment apparatus 1 by the use of manipulation sticks 31 a and31 b of the controller 20 shown in FIG. 2.

[0024]FIG. 4 is a block diagram exemplifying a hardware structure of theentertainment apparatus 1 shown in FIG. 1.

[0025]FIG. 5 is a block diagram for explaining a data structure of anoptical disk 85 inserted in a disk inserting portion 3 of theentertainment apparatus 1.

[0026]FIG. 6 is a block diagram showing a software structure forrealizing a flight simulation game, which is constructed on theentertainment apparatus 1 shown in FIG. 4.

[0027]FIG. 7 is an explanatory view for explaining a positional relationbetween an object 601 to be controlled (hereinafter referred to as acontrolled object) and a virtual camera 609 disposed in a threedimensional field by a camera disposing section 805 shown in FIG. 6.

[0028]FIG. 8 is an explanatory view for explaining a positional relationbetween the controlled object 601 and the virtual camera 609 disposed inthe three dimensional field by the camera disposing section 805 shown inFIG. 6.

[0029]FIG. 9 is an explanatory view for explaining a positional relationbetween the controlled object 601 and the virtual camera 609 disposed inthe three dimensional field by the camera disposing section 805 shown inFIG. 6.

[0030]FIG. 10 is an explanatory view for explaining how the virtualcamera 609, which is disposed in the three dimensional field by thecamera disposing section 805 shown in FIG. 6, behaves for a motion ofthe controlled object 601.

[0031]FIG. 11 is an explanatory view for explaining how the virtualcamera 609, which is disposed in the three dimensional field by thecamera disposing section 805 shown in FIG. 6, behaves for a motion ofthe controlled object 601.

[0032]FIGS. 12A to 12E show examples of pictorial images obtained byphotographing the controlled object 601 with the virtual camera 609disposed as shown in FIG. 10.

[0033]FIGS. 13A to 13C show examples of pictorial images obtained byphotographing the controlled object 601 with the virtual camera 609disposed as shown in FIG. 11.

[0034]FIG. 14 is a flowchart for explaining an operation of the softwarestructure to realize a flight simulation constructed on theentertainment apparatus 1 of FIG. 6.

[0035]FIGS. 15A and 15B are explanatory views for explaining apositional relation between an object (an object representing anairplane) 901 and a virtual camera 902 in a conventional entertainmentapparatus for performing a flight simulation.

[0036]FIGS. 16A and 16B show pictorial images obtained by photographingan object 901 with the virtual camera 902 disposed as shown in FIGS. 15Aand 15B.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0037] An embodiment of the present invention will be hereinafterdescribed.

[0038] A hardware structure of an entertainment apparatus according toan embodiment of the present invention will be described.

[0039] An appearance of the entertainment apparatus according to theembodiment of the present invention will be described in FIG. 1.

[0040] This entertainment apparatus reads out a game program stored inan optical disc and the like such as CD-ROMs and DVD-ROM, and executes agame in response to an instruction from a player. An execution of thegame mainly means that a controlled object such as an objectrepresenting, for example, an airplane and an automobile, which is beingdisplayed on a display screen of a display device such as a TV connectedto the entertainment apparatus, is allowed to move, and a display of amoving picture and sound are controlled in accordance with a motion ofthe object in response to an instruction from a player, thus proceedingthe game.

[0041] As illustrated in FIG. 1, a main body 2 of the entertainmentapparatus 1 comprises: a disc inserting potion 3, in the center of whichan optical disc such as a CD-ROM and a CVD-ROM is inserted that are arecording medium for supplying an application program of a TV game andthe like and multimedia data; a reset switch 4 for resetting the game; apower switch 5; a disc manipulation switch 6 for manipulating aninsertion of the optical disc; and, for example, two slot portions 7Aand 7B.

[0042] Two controllers 20 can be connected to the slot portions 7A and7B, and two players can perform a match game, a competition game and thelike. The slot portions 7A and 7B can be equipped with a memory carddevice 26 that can store and read out game data, and a portableelectronic appliance 100 that can execute the game in a state where itis detached from the main body 2.

[0043] The controller 20 has first and second manipulation portions 21and 22, an L button 23L, an R button 23R, a start button 24 and aselection button 25. A controller 20 further has analog manipulationportions 31 and 32, a mode selection switch 33 for selecting amanipulation mode of the manipulation portions 31 and 32, and a displayportion 34 for displaying the selected manipulation mode.

[0044] The respective manipulation portions 31 and 32 have manipulationsticks 31 a and 32 a, each of which is constituted so as to be pivotallytilted and to be rotatable in the tilted state using a specified fulcrum“a” relative to a specified axis “b” passing through the fulcrum “a”, asshown in FIG. 2. The controller 20 detects a tilt of each of themanipulation sticks 31 a and 32 a relative to the axis “b” and a tiltdirection thereof, and then outputs a signal in accordance withcoordinate values on the X-Y coordinate decided based on the tilt andthe tilt direction. As shown in FIG. 3, the coordinate value in theY-direction (vertical) is represented by one of 256 stages ranging from“0” to “255” depending on the tilts of the manipulation sticks 31 a and32 a in the upward and downward direction, and the coordinate value inthe X-direction (horizontal) is represented by one of 256 stages rangingfrom “0” to “255” depending on the tilts of the manipulation sticks 31 aand 32 a in the right and left direction.

[0045] Next, a constitution of the entertainment apparatus 1 is shown inFIG. 4.

[0046] As shown in FIG. 4, the entertainment apparatus 1 comprises: acontrol system 50 including a central processing unit (CPU) 51,peripheral units and the like; a graphic system 60 including a graphicprocessing unit (GPU) 62 allowing a frame buffer 63 to carry out drawingthereon, and the like; a sound system 70 including a sound processingunit (SPU) 71 generating an audio signal such as a musical sound and aneffect sound, and the like; an optical disc control section 80 forcontrolling an optical disc on which an application program andmultimedia data are stored; a communication control section 90 forcontrolling input/output of a signal from the controller 20 to which aninstruction from the player is inputted and for controlling input/outputof data from a portable electronic appliance 100 and a memory card 26storing a setting of a game; a bus BUS connected to the above describedsections and systems; and the like.

[0047] The control system 50 comprises the CPU 51; a peripheral unitcontrol section 52 for performing an interruption control and directmemory access (DMA) transfer control; a main memory 53 comprising arandom access memory (RAM): and a read only memory (ROM) 54 storing aprogram such as so called an operating system, which controls the mainmemory 53, the graphic system 60, the sound system 70 and the like.

[0048] The CPU 51 executes the operating system stored in the ROM 54,thus controlling the whole of the entertainment apparatus 1, and the CPU51 is composed of, for example, a RISC-CPU.

[0049] In the entertainment apparatus 1, upon turning on a power, theCPU 51 of the control system 50 executes the operating system stored inthe ROM 54. Thus, the CPU 51 controls the graphic system 60, the soundsystem 70 and the like.

[0050] When the operating system is executed, the CPU 51 performs aninitialization such as an operation confirmation for the whole of theentertainment apparatus 1. Thereafter, the CPU 51 controls the opticaldisc control section 80, and executes an application program such as agame stored on the optical disc. By executing the program of the game,the CPU 51 controls the graphic system 60, the sound system 70 and thelike in response to an input from the player. and controls an imagedisplay and generation of the effect sound and the musical sound.

[0051] The graphic system 60 comprises a geometry transfer engine (GTE)61 for performing a processing of a coordinate transformation and thelike; the GPU 62 for carrying out the drawing in accordance with aninstruction for the drawing from the CPU 51; the frame buffer 63 forstoring an image drawn by the GPU 62; and an image decoder 64 fordecoding image data, which has been compressed by an orthogonaltransformation such as a discrete cosine transform and then coded.

[0052] The GTE 61 comprises a parallel operation mechanism for executinga plurality of operations parallelly, and performs calculations of amatrix, a vector and the like such as the coordinate transformation. Tobe concrete, the GTE 61 constitutes a virtual three dimensional objectby gathering triangular polygons when an application program such as agame, stored in an optical disc, uses so called a 3D graphic. Then, theGTE 61 performs various calculations for generating an image obtained byphotographing the three dimensional object with a virtual camera.Specifically, the various calculations include a perspectivetransformation (a calculation of the coordinate value when vertexes ofthe polygons constituting the three dimensional object are projectedonto a virtual camera screen), which is adopted in performing rendering.

[0053] Next, the GPU 62 performs rendering of the three dimensionalobject for the frame buffer 63 in response to an instruction from theCPU 51 while using the GTE 61 if necessary, and then forms an image.Subsequently, the GPU 62 outputs a video signal representing the imageformed. As a technique of erasing shadow lines and shadow planes usedfor rendering, a Z buffer method, a scan line method, a ray tracingmethod and the like are employed. As a shading technique for shading, aflat shading method, a glow shading method, a ray tracing method and thelike are employed. As a technique for expressing a surface material andpattern of the three dimensional object, a texture mapping and the likeare employed.

[0054] The frame buffer 63 is composed of, so called a dual port RAM,and constituted so as to be able to simultaneously perform rendering ofthe GPU 62, or a transfer from the main memory and reading-out for adisplay. In the frame buffer 63, in addition to an image area in whichthe rendering and the reading-out for a display are performed, a texturearea in which a texture used for the texture mapping is stored isprovided.

[0055] The CPU 51 controls the image decoder 64 so that the imagedecoder 64 decodes image data of either a still picture or a movingpicture, which is stored in the main memory 53, and allows the mainmemory 53 to store the decoded image data. The decoded image data isstored in the frame buffer 63 via the GPU 62, whereby the decoded imagedata is used as a background of an image to be subjected to therendering by the foregoing GPU 62.

[0056] The sound system 70 comprises the SPU 71 for outputting an audiosignal such as a musical sound and an effect sound based on aninstruction from the CPU 51 and a sound buffer 72 in which waveform dataand the like is stored by the SPU 71.

[0057] The SPU 71 comprises: an ADPCM decoding function to reproducesound data that has been subjected to adaptive differential PCM (ADPCM);a reproduction function to reproduce an audio signal such as the effectsound and output the audio signal, by reproducing the waveform datastored in the sound buffer 72; and a modulation function to modulate thewaveform data stored in the sound buffer 72, thus reproducing themodulated waveform data. With the provision of such functions, the soundsystem 70 is constituted so as to be used as so called a sampling soundsource that generates an audio signal such as the musical sound and theeffect sound based on the waveform data which is stored in the soundbuffer 72 in response to an instruction from the CPU 51.

[0058] The optical disc control section 80 comprises: an optical discdevice 81 for reproducing a program, data and the like stored in theoptical disc; a decoder 82 for decoding a program, data and the like towhich, for example, an error correction code (ECC) is added, stored inthe optical disc; and a buffer 83 for making reading-out of the datafrom the optical disc faster by temporarily storing the data from theoptical disc device 81. A sub CPU 84 is connected to the decoder 82.

[0059] As the sound data stored in the optical disc, which is read outby the optical disc device 81, there is so called PCM data obtained byan A/D conversion of the audio signal in addition to the foregoing ADPCMdata. The ADPCM data is decoded by the decoder 82, and then supplied tothe foregoing SPU 71. The ADPCM data is subjected to a D/A conversion bythe SPU 71, and then outputted as the musical sound, the effect soundand the like from a sound apparatus such as an audio device connected tothe entertainment apparatus 1. Furthermore, the PCM data is subjected toa processing such as a D/A conversion and the like by the SPU 71, andthen outputted as the musical sound, the effect sound and the like fromthe sound apparatus.

[0060] The communication control section 90 comprises a communicationcontrolling device 91 to control a communication with the CPU 51 throughthe bus BUS. In the communication controlling device 91, provided are: acontroller connection portion 12 connected to the controller 20 forentering an instruction from the player; and memory card insertionportions 8A and 8B connected to the memory card 26 as an auxiliarymemory device for storing game setting data and the like and theportable electronic appliance 100.

[0061] In order to enter the instruction from the player, the controller20 connected to the controller connection portion 12 transmits states ofthe foregoing buttons and the manipulation portion to the communicationcontrolling device 91 by a synchronous communication, in response to aninstruction from the communication controlling device 91. Then, thecommunication controlling device 91 transmits the states of theforegoing buttons and the manipulation portion of the controller 20 tothe CPU 51.

[0062] Thus, the instruction from the player is entered to the CPU 51,and the CPU 51 executes processings in accordance with the instructionfrom the player based on a game program that is being executed. To beconcrete, the CPU 51 generates an image including a controlled object incooperation with other portions of the control system 70 and the graphicsystem 60, and allows the display screen of the display device todisplay the image. In accordance with the instruction from the player,which was entered to the controller 20, the CPU 51 sequentiallygenerates images in which a display position of the controlled objectand a posture thereof are changed, and allows the display screen of thedisplay device to display these images. Note that a background of theimage is also changed if necessary. Thus, the CPU 51 generates a movingpicture as if the controlled object is controlled in response to themanipulation contents of the player entered to the controller 20. Inaddition, the CPU 51 controls a sound and music output from the soundapparatus in cooperation with the sound system 70 if needs arise.

[0063] Hereupon, the image data must be transferred at high speed amongthe main memory 53, the GPU 62, the image decoder 64 and the decoder 82when reading-out of the program, the display of the image and thedrawing are carried out. Accordingly, in the entertainment apparatus 1,so called a DMA transfer can be performed, in which data is directlytransferred among the main memory 53, the GPU 62, the image decoder 64and the decoder 82 by a control of the peripheral unit control section52 without intervention of the CPU 51 as described above. Thus, a loadof the CPU 51 due to the data transfer can be reduced, and a high speeddata transfer can be performed.

[0064] Furthermore, when the setting data of the game that is beingexecuted must be stored, the CPU 51 transfers the data to be stored tothe communication controlling device 91, and the communicationcontrolling device 91 writes the data from the CPU 51 in the memory card26 or the portable electronic appliance 100, which are inserted in theslot of either the memory card insertion portion 8A or the memory cardinsertion portion 8B.

[0065] Here, a protection circuit for preventing electrical destructionis incorporated in the communication controlling device 91. The memorycard 26 and the portable electronic appliance 100 are separated from thebus BUS, and freely removable from the main body 2 in a state where thepower is being supplied to the main body 2 of the entertainmentapparatus 1. Accordingly, when the memory card 26 and the portableelectronic appliance 100 lack in storage capacity, a new memory card,etc., can be inserted without breaking the power of the apparatus body.Thus, a new memory card is inserted and new data can be written therein,so that game data that must be backed up is never lost.

[0066] Note that a parallel I/O interface (PIO) 96 and a serial I/Ointerface (SIO) 97 serve as an interface for connecting theentertainment apparatus 1 to the memory card 26 or the portableelectronic appliance 100.

[0067] The hardware structure of the entertainment apparatus 1 wasdescribed in the above.

[0068] Next, a flight simulation game will be described, which isrealized in such a manner that in the entertainment apparatus 1constituted as described above, the CPU 51 executes an applicationprogram read out from an optical disc inserted in the disc insertingportion 3.

[0069] The flight simulation game means a game executed in the followingmanner. By the use of the controller 20 connected to the entertainmentapparatus 1, a player controls the controlled object, which representsan airplane, to allow the controlled object to move in the virtual threedimensional field, and thus the player can experience an operation ofthe airplane virtually. The entertainment apparatus 1 generates a CGanimation image obtained by photographing the controlled object movingin the three dimensional field with the virtual camera, and displays theCG animation image on the display screen of the display device connectedto the entertainment apparatus 1.

[0070] A data structure of the optical disc will be first described.

[0071]FIG. 5 is a block diagram for explaining the data structure of theoptical disk 85 inserted in the disk inserting portion 3.

[0072] As shown in FIG. 5, an application program (PG) 501 for realizinga flight simulation game, and various kinds of data including objectdata (DA) 502 and a map database (DB) 503 are stored in the optical disc85.

[0073] In the object data DA 502, stored is a variety of informationnecessary for specifying a three dimensional shape and a texture, etc.,of the controlled object, which represents an airplane and which iscontrolled by the use of the controller 20 by the player in the flightsimulation game. In the map database DB503, stored is a variety ofinformation concerning map constituent elements for specifyingtopography in the virtual three dimensional field in the flightsimulation game, in which the controlled object moves.

[0074] Next, a software structure for realizing the flight simulationgame, which is constructed on the entertainment apparatus 1, will bedescribed.

[0075]FIG. 6 is a block diagram showing the software structure forrealizing the flight simulation game, which is constructed on theentertainment apparatus 1. Constituent elements shown in FIG. 6 arerealized as processes in such a manner that the CPU 51 executes theapplication PG 501 read out by the optical disc control section 80 fromthe optical disc 85 which is inserted in the disc inserting portion 3and which is loaded on the main memory 53.

[0076] In FIG. 6, a manipulation content reception section 801determines a moving speed of the controlled object and a movingdirection thereof, which moves in the three dimensional field, inresponse to the instruction of the player entered in the controller 20.This processing is performed periodically.

[0077] Here, the moving speed of the controlled object is determined byallowing any one of the first and second manipulation portions 21 and22, and the L button 23L, and the R button 23R of the controller 20 topossess a same function as that of a throttle.

[0078] Specifically, when a detection signal of the button possessingthe same function as that of the throttle is being outputted from themanipulation apparatus 20, it is judged that the throttle is in theon-state. When the detection signal of the button is not beingoutputted, it is decided that the throttle is in the off-state. When itis judged that the throttle is in the on-state, a certain speed is addedto the moving speed of the controlled object determined the last time,whereby the moving speed of the controlled object is determined. Thecertain speed is obtained from a predetermined acceleration in responseto the throttle-on-state and from duration time after the moving speedwas determined last time. For the duration, the throttle is in theon-state. On the other hand, when it is decided that the throttle is inthe off-state, another certain speed is subtracted from the moving speedof the controlled object determined last time, whereby the moving speedof the controlled object is determined. Another certain speed isobtained from a predetermined deceleration in response to thethrottle-off-state and from the duration time after the moving speed wasdetermined last time. For the duration, the throttle is in theoff-state.

[0079] Furthermore, the moving direction of the controlled object isdetermined, for example, by allowing the manipulation sticks 31 a and 32a of the controller 20 to possess a same function as that of a controlstick.

[0080] Specifically, by the manipulation performed for the manipulationsticks 31 a and 32 a, a bank of the airplane represented by thecontrolled object is determined depending on a value of the X coordinatecomponent obtained from a signal, which corresponds to the coordinatevalue on the X-Y coordinate, the signal being outputted from thecontroller 20. A rise and drop of the nose of the airplane is determineddepending on a value of the Y-coordinate component obtained therefrom,

[0081] To be concrete, in FIG. 3, when the value of the X-coordinatecomponent ranges from 128 to 255, the airplane shall tilt greatly to theright as the value of the coordinate component is larger. When the valueof the X-coordinate component ranges from 0 to 126, the airplane shalltilt greatly to the left as the value of the coordinate component issmaller. When the value of the X-coordinate component is equal to 127,the airplane shall not bank. Furthermore, when the value of theY-coordinate component ranges from 128 to 255, the nose of the airplaneshall rise greatly as the value of the Y-coordinate component is larger.When the value of the Y-coordinate component ranges from 0 to 126, thenose of the airplane shall lower greatly as the value of theY-coordinate component is smaller. Then, when the value of theY-coordinate component is equal to 127, the nose of the airplane shallnot rise and drop.

[0082] The manipulation content reception section 801 obtains a changeamount of the relative moving direction to the moving direction of thecontrolled object determined last time. The change amount is obtainedbased on the bank of the airplane represented by the controlled objectand the rise and drop of the nose of the airplane. The bank of theairplane and the rise and drop of the nose of the airplane are specifiedby a signal depending on the coordinate value on the X-Y coordinate, thesignal being outputted from the controller 20. The obtained changeamount of the relative moving direction is added to the moving directionof the controlled object determined last time. Thus, the movingdirection of the controlled object is determined.

[0083] By the way, in the actual world, a very high level operation isrequired to shift the airplane to a perfect circular flight by the useof the control stick. For this reason, if the manipulation sticks 31 aand 32 a of the controller 20 are merely allowed to possess the samefunction just as that of the control stick, it is too difficult for anunskilled player to control the controlled object, and the player mightnot enjoy the flight simulation game satisfactorily.

[0084] Accordingly, in this embodiment, when the coordinate value on theX-Y coordinate represented by the signal is within a predeterminedrange, the manipulation content reception section 801 judges that thecontrolled object is allowed to perform a predetermined motion, that is,a motion considered for a player to be difficult to operate in theactual world. Note that this signal is outputted from the controller 20to the manipulation content reception section 801 by the manipulationperformed to the manipulation sticks 31 a and 32 a. Then, the movingdirection of the controlled object is determined to be a directionrequired for performing this motion. In the example shown in FIG. 3,when the X-coordinate value on the X-Y coordinate is equal to 240 ormore and Y-coordinate value on the X-Y coordinate is equal to 15 orless, the manipulation content reception section 501 judges that thecontrolled object shall be allowed to make a rapid circular flight tothe upper right. When the X-coordinate value on the X-Y coordinate isequal to 15 or less and Y-coordinate value on the X-Y coordinate isequal to 15 or less, the manipulation content reception section 801judges that the controlled object shall be allowed to make a rapidcircular flight to the upper left. The moving direction of thecontrolled object is determined to be a direction required to performthe rapid circular flight.

[0085] For example, when the manipulation content reception section 801judges that the controlled object is allowed to make the rapid circularflight to the upper right, the airplane represented by the controlledobject shall tilt to the right by 45 degrees, and shall rise its nose by45 degrees. Then, the manipulation content reception section 801determines the moving direction of the controlled object based on themoving direction of the controlled object determined last time. When themanipulation content reception section 801 judges that the controlledobject is allowed to make the rapid circular flight to the upper left,the airplane shall tilt to the left by 45 degrees, and shall rise itsnose by 45 degrees. Then, the manipulation content reception section 801determines the moving direction of the controlled object based on themoving direction of the controlled object determined last time.

[0086] In FIG. 6, the object position calculation section 802 performsperiodically processings for calculating a position and posture of thecontrolled object in the virtual three dimensional field.

[0087] To be concrete, the object position calculation section 802calculates the present position of the controlled object, based on theposition and posture (moving direction) of the controlled objectcalculated last time and the latest moving speed thereof determined bythe manipulation content reception section 801. Furthermore, the objectposition calculation section 802 calculates the present posture of thecontrolled object in accordance with the latest moving direction thereofdetermined by the manipulation content reception section 801.

[0088] Directly from the map database DB503 stored in the optical disc85, a three dimensional map drawing section 803 reads out mapconstituent elements to be disposed around the position of thecontrolled object calculated by the object position calculation section802. Alternatively, the three dimensional map drawing section 803 readsout the map constituent elements from the map database DB503 which areread out from the optical memory 85 and temporarily stored in the mainmemory 53. Then, the three dimensional map drawing section 803 disposesthe constituent elements in the three dimensional field. Thus,topography to be expanded around the position of the controlled objectis generated

[0089] Note that the three dimensional map drawing section 803 is notalways required to perform the topography generation processing everytime the position of the controlled object is calculated by the objectposition calculation section 802. For example, the three dimensional mapdrawing section 803 may perform the topography generation processingevery time position of the controlled object is calculated by the objectposition calculation section 802 plural times. In this case, a rangewhere the controlled object can move is taken into consideration in theprocessing for calculating the position of the controlled object, whichis performed by the object position calculation section 802 pluraltimes. Note that this range can be estimated based on the maximum movingspeed of the controlled object previously set. Then the map constituentelements to be disposed around this range are read out from the mapdatabase DB503, and disposed in the three dimensional fieldsatisfactorily.

[0090] In the three dimensional field in which the topography isexpanded by the three dimensional map drawing section 803, an objectdisposing section 804 disposes the controlled object at the latestposition thereof calculated by the object position calculation section802. A thee dimensional shape and the like are specified by the objectdata DA502 stored in the optical disc 85. On this occasion, thecontrolled object is disposed so that the posture of the controlledobject is identical to that of the latest controlled object calculatedby the object position calculation section 802.

[0091] Note that the three dimensional map drawing section 803 and theobject disposing section 804 are realized in such a manner that the CPU51 uses, for example, the GTE 61 in FIG. 4.

[0092] The camera disposing section 805 performs a processing forsettling a disposing position of the virtual camera, that is, aviewpoint of the virtual camera, and a direction thereof, that is, asight line direction and a tilt of the camera around the sight linedirection as an axis. The disposing position and direction of thevirtual camera are used for generating a two dimensional image from thethree dimensional field in which the topography and the controlledobject are disposed by the three dimensional map drawing section 803 andthe object disposing section 804. This processing is performed everytime the position and posture of the controlled object are calculated bythe object position calculation section 802. An example of the concreteprocessing for settling the disposing position and direction of thevirtual camera in the camera setting section 805 will be describedbelow.

[0093] FIGS. 7 to 9 are drawings for explaining a positional relationbetween the controlled object 601 and the virtual camera 609 in thisembodiment.

[0094]FIG. 7 shows a state in which the object 601 and the virtualcamera 609 disposed in the three dimensional field are overlooked justfrom above (an infinitely long distance of the Z-axis), and FIG. 8 showsa state in which the object 601 and the virtual camera 609 disposed inthe three dimensional field are viewed just from the side (an infinitelylong distance of the X-axis). FIG. 9 shows a state in which the object601 and the virtual camera 609 disposed in the three dimensional fieldare viewed just from the side (an infinitely long distance of theY-axis). Note that in these drawings, illustrations of the mapconstituent elements disposed in the three dimensional field areomitted.

[0095] (1) Disposing Position of Virtual Camera (camera setup Point)

[0096] As shown in FIGS. 7 to 9, the camera disposing section 805settles the camera setup point 606, which is the disposition point ofthe virtual camera 609 at a position satisfying the following conditions{circle over (1)} to {circle over (3)}.

[0097] {circle over (1)}: A camera chasing point 604 is settled at aposition higher by a predetermined value H than that located to the rearof the position 602 by the distance K, the position 602 being on theline 603 along the moving direction of the controlled object 601 newlycalculated by the manipulation content reception section 801. The line603 passes through the position 602 of the controlled object 601 newlycalculated by the object position calculation section 802.

[0098] {circle over (2)}: A camera setup point 606 is settled at aposition, which approaches to the camera chasing point 604 from thecamera setup point 606′ calculated last time by the distance L/M. Thedistance L/M is obtained by dividing the distance L between the camerachasing point 604 and the camera chasing point 606′ by the predeterminedvalue M. Accordingly, the camera setup point 606, the camera setup point606′ calculated last time and the camera chasing point 604 satisfy thefollowing relations.

[0099] X coordinate value of point 606=(X coordinate value of point604−X coordinate value of point 606′)/M+X coordinate value of point 606′

[0100] Y coordinate value of point 606=(Y coordinate value of point604−Y coordinate value of point 606′)/M+Y coordinate value of point 606′

[0101] Z coordinate value of point 606=(Z coordinate value of point604−Z coordinate value of point 606′)/M+Z coordinate value of point 606′

[0102] {circle over (3)}: In the relation {circle over (1)}, thedistance K is set so as to be shorter, as the moving speed of thecontrolled object newly calculated by the manipulation content receptionsection 801 is increased. In other words, the distance K is set so thatthe camera chasing point 604 approaches to the controlled object 601.For example, the distance K is represented as k when the moving speed ofthe controlled object is equal to A, and the distance K is set tosatisfy the following equation.

K=k−a(B−A)

[0103] where B is the moving speed of the controlled object newlycalculated by the manipulation content reception section 801, and a is apredetermined coefficient. The coefficient a is set so as to satisfy thefollowing conditions in the above described relation with thepredetermined value M expressed in the condition {circle over (2)}.

[0104] Specifically, though the camera chasing point 604 approachesnearer to the controlled object 601 as the moving speed of thecontrolled object 601 is increased, the coefficient a and thepredetermined value M are set so that the camera setup point 606 goesfar behind the controlled object 601, that is, the camera setup point606 moves backward relative to the moving direction of the controlledobject 601 as the moving speed of the controlled object 601 isincreased.

[0105] In the initial state (at the time of starting the game), thecamera setup point 606 may be settled at a predetermined positiondetermined fixedly based on the relative positional relation between thecamera setup point 606 and the controlled object 601.

[0106] (2) Direction of Camera (Direction of Sight Line of Camera)

[0107] As shown in FIGS. 7 to 9, the camera disposing section 805settles the camera sight line direction 610 so that the virtual camera609 set at the camera setup point 606 is pointed at a camera referencepoint 607. The camera disposing section 805 settles the camera referencepoint 607 at a position satisfying the following conditions {circle over(1)} and {circle over (2)}.

[0108] {circle over (1)}: The camera reference point 607 is settled at aposition in front of the position 602 by the distance J, the positionbeing on the line 603 along the moving direction of the controlledobject newly calculated by the manipulation content reception section801. The line 603 passes through the position 602 of the controlledobject 601 newly calculated by the object position calculation section802.

[0109] {circle over (2)}: In the condition {circle over (1)}, thedistance J is set so as to be longer, that is, so that the camerareference point 607 leaves the controlled object 601 far, as the movingspeed of the controlled object, which is newly calculated by themanipulation content reception section 801, is increased. For example,the distance J is represented as j when the moving speed of thecontrolled object is equal to A, and the distance J is set so as tosatisfy the following equation.

J=j+b(B−A)

[0110] where B represents the moving speed of the controlled objectnewly calculated by the manipulation content reception section 801, andb represents a predetermined coefficient.

[0111] (3) Direction of Camera (Tilt of Camera around Camera Sight LineDirection as Axis)

[0112] As shown in FIG. 9, when the controlled object banks around theline 603 as an axis, that is, when the manipulation content receptionsection 801 receives the manipulation content to allow the airplanerepresented as the controlled object 601 to bank left and right, thevirtual camera 609 is rotated around the camera sight line direction 610as an axis in accordance with the bank thereof. When the controlledobject 601 rotates around the line 603 as an axis, the virtual camera609 is rotated around the camera sight line direction 610 as an axis.

[0113]FIGS. 10 and 11 are explanatory views for explaining how thevirtual camera 609 behaves for a motion of the controlled object 601 inthe present embodiment.

[0114] Here, FIG. 10 shows a relation between the controlled object 601and the virtual camera 609 when the controlled object 601 shifts from astraight advance state at a constant speed to a clockwise circularflight state. FIG. 11 shows a relation between the controlled object 601and the virtual camera 609 when the controlled object 601 increases themoving speed gradually in the straight advance state. Note that FIGS. 10and 11 show a state where the controlled object 601 and the virtualcamera 609 are overlooked just from above (an infinitely long distanceof the Z-axis), and illustrations of map constituent elements disposedin the three dimensional field are omitted in FIGS. 10 and 11.

[0115]FIGS. 12A to 12E exemplify pictorial images obtained byphotographing the controlled object 601 with the virtual camera 609disposed as shown in FIG. 10. FIG. 12A shows a pictorial imagephotographed by the virtual camera 609 when the controlled object is atthe position (a) of FIG. 10, and FIG. 12B shows a pictorial imagephotographed by the virtual camera 609 when the controlled object is atthe position (b) of FIG. 10. FIG. 12C shows a pictorial imagephotographed by the virtual camera 609 when the controlled object is atthe position (c) of FIG. 10, and FIG. 12D shows a pictorial imagephotographed by the virtual camera 609 when the controlled object is atthe position (d) of FIG. 10. FIG. 12E shows a pictorial imagephotographed by the virtual camera 609 when the controlled object is atthe position (e) of FIG. 10.

[0116]FIGS. 13A to 13C exemplify pictorial images obtained byphotographing the controlled object 601 with the virtual camera 609disposed as shown in FIG. 11. FIG. 13A shows a pictorial imagephotographed by the virtual camera 609 when the controlled object is atthe position (a) of FIG. 11, and FIG. 13B shows a pictorial imagephotographed by the virtual camera 609 when the controlled object is atthe position (b) of FIG. 11. FIG. 13C shows a pictorial imagephotographed by the virtual camera 609 when the controlled object is atthe position (c) of FIG. 11.

[0117] As apparent from FIG. 10 and FIGS. 12A to 12E, the disposingposition and direction of the virtual camera 609 are set so that theforegoing conditions (1) to (3) are satisfied, whereby the camera setuppoint 606′ calculated last time is taken into consideration for thecamera setup point 606. Accordingly, the virtual camera 609 behaves soas to chase the controlled object 601 behind with little delay for themotion of the controlled object 601. When the controlled object 601rotates around its moving direction as an axis, that is, when thecontrolled object banks left and right, also the virtual camera 609rotates around the camera sight line direction 610 as an axis dependingon the rotation of the controlled object 601.

[0118] As apparent from FIG. 11 and FIGS. 13A to 13C, the disposingposition and direction of the virtual camera 609 are set so that theforegoing conditions (1) to (3) are satisfied, whereby the virtualcamera 609 moves in a direction to leave the controlled object 601farther as the moving speed of the controlled object 601 is increased.Furthermore, the camera sight line direction 610 is pointed at aposition further in front than the controlled object 601 as the motionspeed thereof is increased.

[0119] Descriptions will be continued returning to FIG. 6.

[0120] An image generation section 806 generates a two dimensional imageobtained by photographing the three dimensional field by the virtualcamera in which a disposing position and sight line direction thereofare settled by the camera disposing section 805. In the threedimensional field, the topography and the controlled object arerespectively disposed by the three dimensional map drawing section 803and the object disposing section 804. To be concrete, the twodimensional image is generated by a processing (a rendering) performedin such a manner that by setting a disposing position of the virtualcamera as a viewpoint, a direction of the virtual camera as a sight linedirection, and rotating the virtual camera 609 around the camera sightline direction 610 as an axis depending on a bank of the controlledobject, thus the controlled object and map constituent elements in thethree dimensional field are projected on a virtual camera screen.

[0121] A display control section 807 transforms the two dimensionalimage generated by the image generation section 806 to a video signal,and outputs the video signal to a display device connected to theentertainment apparatus 1.

[0122] Note that the image generation section 806 and the displaycontrol section 807 are realized in such a manner that the CPU 51 uses,for example, the GTE 61 and the GPU 62 in FIG. 4.

[0123] Next, an operation of a software structure to realize a flightsimulation constructed on the entertainment apparatus 1 will bedescribed.

[0124]FIG. 14 is a flowchart for explaining an operation of the softwarestructure to realize the flight simulation constructed on theentertainment apparatus 1.

[0125] The manipulation content reception section 801 first calculatesthe moving speed of the controlled object 601 (step S1001). To beconcrete, by detecting a detection signal of a button having a role of athrottle of the controller 20, an ON/OFF time of the throttle aftercalculating the moving speed last time is measured. Then, a speed, whichis obtained based on the measured time of the throttle ON and anacceleration previously determined, is added to the moving speedcalculated last time. And/or, a speed, which is obtained based on themeasured time of the throttle OFF and a deceleration previouslydetermined, is subtracted from the moving speed calculated last time.Thus, the moving speed of the controlled object 601 is calculated.

[0126] Next, the manipulation content reception section 801 calculatesthe moving direction of the controlled object 601 (steps S1002 toS1004).

[0127] To be concrete, it is checked whether the coordinate value on theX-Y coordinate represented by the signal outputted from the controller20 is within a predetermined range (step S1002). Note that this signalis outputted from the controller 20 by a manipulation performed for themanipulation sticks 31 a and 32 a of the controller 20 possessing a roleas a control stick. For example, in the example shown in FIG. 3, it ischecked whether the X coordinate value on the X-Y coordinate is equal to240 or more and the Y coordinate value thereon is equal to 15 or less,and it is checked whether X coordinate value on the X-Y coordinate isequal to 15 or less and the Y coordinate value thereon is equal to 15 orless.

[0128] If the X coordinate value and Y coordinate value on the X-Ycoordinate are within the predetermined ranges, the controlled objectshall be allowed to perform a predetermined operation, and the movingdirection of the controlled object 601 is determined to one required forthe controlled object to perform this operation (step S1003). Forexample, in the example shown in FIG. 3, when the X coordinate value onthe X-Y coordinate is equal to 240 or more and the Y coordinate valuethereon is equal to 15 or less, it is judged that the controlled objectis allowed to make a rapid circular flight to the upper right. Thus, itis assumed that from the moving direction of the controlled objectcalculated last time, the airplane represented by the controlled object601 is banked to the right by 45 degrees and the nose of the airplane isrisen by 45 degrees, and the moving direction of the controlled object601 is calculated. When the X coordinate value on the X-Y coordinate isequal to 15 or less and the Y coordinate value thereon is equal to 15 orless, it is judged that the controlled object is allowed to make a rapidcircular flight to the upper left. Thus, it is assumed that from themoving direction of the controlled object calculated last time, theairplane is banked to the left by 45 degrees and the nose of theairplane is risen by 45 degrees, and the moving direction of thecontrolled object 601 is determined.

[0129] On the other hand, if the X coordinate value and the Y coordinatevalue on the X-Y coordinate are not within the predetermined ranges, abank of the airplane represented by the controlled object 601 and a riseand drop of the nose of the airplane are determined depending on thecoordinate value on the X-Y coordinate shown by a signal outputted fromthe controller 20 by a manipulation performed for the manipulationsticks 31 a and 32 a thereof. Then, it is assumed that the airplane ismade to bank and rise and drop its nose by the determined angles fromthe moving direction of the controlled object 601 calculated last time,and a moving direction of the controlled object 601 is determined (stepS1004).

[0130] Next, the object position calculation section 802 calculates aposition and posture of the controlled object 601 in the virtual threedimensional field (step S1005).

[0131] Specifically, the present position of the controlled object 601is calculated based on the position and posture (moving direction) ofthe controlled object calculated last time and the newest moving speedof the controlled object 601 calculated by the manipulation contentreception section 801. The present posture of the controlled object 601is calculated in accordance with the newest moving direction of thecontrolled object 601 determined by the manipulation content receptionsection 801.

[0132] Next, the three dimensional map drawing section 803 checkswhether a map must be updated (step S1006). For example, in the casewhere the map is updated every N times the calculation processing of theposition of the controlled object 601 in the step S1005 is performed, acounter is provided, and it is checked whether a counter value reachesN. If the counter value reaches N, it is judged that the map must beupdated, and the counter value is reset. The process advances to stepS1007. On the other hand, if the counter value does not reach N, thecounter value is incremented by one, and the process advances to stepS1008.

[0133] In the step S1007, the three dimensional map drawing section 803reads out map constituent elements to be disposed around the position ofthe controlled object from the map database DB503. The position of thecontrolled object was calculated by the object position calculationsection 802 in the step S1005. Then, the three dimensional map drawingsection 803 disposes the constituent elements in the three dimensionalfield. Thus, topography to be expanded around the position of thecontrolled object is expanded.

[0134] In the step S1008, in the three dimensional field in which thetopography has been expanded by the three dimensional map drawingsection 803 in the step S1007, the object disposing section 804 disposesthe controlled object 601 at the position of the controlled objectcalculated by the object position calculation section 802 in the stepS1005. Note that a three dimensional shape of this controlled object 601is specified by the object data DA502. At this time, the controlledobject is disposed so that a posture of the controlled object isidentical to that of the controlled object calculated by the objectposition calculation section 802 in the step S1005.

[0135] Next, according to the way explained by the use of FIGS. 7 to 13,the camera disposing section 805 settles the disposing position anddirection of the virtual camera 609 used for generating a twodimensional image from the three dimensional field in which thetopography and the controlled object 601 are respectively disposed bythe three dimensional map drawing section 803 and the object disposingsection 804 in the steps S1007 and S1008 (step S1009).

[0136] In the manner described above, when the controlled object 601 andthe topography surrounding the controlled object 601 are disposed in thethree dimensional field, and when the disposing position and directionof the virtual camera 609, which photographs the controlled object 601and the topography surrounding the controlled object 601 disposed inthis three dimensional field, are settled, the image generation section806 allows the virtual camera 609 to rotate around the camera sight linedirection 610. Note that the virtual camera 609 rotates by setting thedisposing position of the virtual camera 609 as a viewpoint and thedirection of the camera 609 as a sight line direction and depending on abank around the moving direction of the controlled object 601. Then, theimage generation section 806 performs a rendering processing in whichthe controlled object 601 and the topography surrounding the controlledobject 601, which are disposed in the three dimensional field, areprojected on a virtual camera screen. Thus, the image generation section806 generates the two dimensional image (step S1010).

[0137] Then, the display control section 807 transforms the twodimensional image generated by the image generation section 806 in thestep S1010 to a video signal, and outputs the video signal to thedisplay device connected to the entertainment apparatus 1 (step S1011).

[0138] By iterating the above described flow shown in FIG. 14, theentertainment apparatus 1 displays a moving picture on the displayscreen of the display device connected thereto. The moving picture isobtained by photographing the controlled object 601 with the virtualcamera 609, the object 610 moving in the virtual three dimensional fieldin accordance with manipulation contents of the player received via thecontroller 20.

[0139] The embodiment of the present invention was described as above.

[0140] According to this embodiment, since the camera setup point 606′calculated last time is taken into consideration for the camera setuppoint 606 that is the disposing position of the virtual camera 609, thevirtual camera 609 behaves so as to chase the controlled object 601behind with little delay for the motion of the controlled object 601.When the controlled object 601 rotates around its moving direction as anaxis, also the virtual camera 609 rotates around the camera sight linedirection as an axis depending on the rotation of the controlled object601.

[0141] Therefore, the player can easily grasp the behavior of thecontrolled object 601, which is controlled by the use of the controller20, in the virtual three dimensional field through the display screen.Accordingly, the feeling of being at flight by the flight simulationgame is enhanced, and the player can enjoy more the flight simulationgame.

[0142] Furthermore, according to this embodiment, as the moving speed ofthe controlled object 601 is increased, the virtual camera 609 moves ina direction farther behind the controlled object 601.

[0143] Therefore, when the player increases the moving speed of thecontrolled object 601 by the use of the controller 20, a pictorial imagesurrounding the object taken by the virtual camera 609 broadensdepending on an increase amount of the moving speed. In other words, thepictorial image surrounding the object displayed on the display screenof the display device broadens. Consequently, it is possible to preventthe control of the object from being extremely difficult when the movingspeed of the controlled object 601 is increased.

[0144] The moving speed of the controlled object 601 is reflected on themoving picture displayed on the display screen of the display device asa relative speed of the object 601 for the topography, which is disposedaround the object 610. Accordingly, though a pictorial image surroundingthe object taken by the virtual camera 609 broadens depending on anincrease amount of the moving speed of the controlled object 601, afeeling of speed acquired from the moving picture is not lost.

[0145] Furthermore, in this embodiment, the camera sight line direction610 of the virtual camera 609 is pointed at a position further ahead infront of the controlled object 601 as the motion speed thereof isincreased.

[0146] For this reason, when the player increases the moving speed ofthe controlled object 601 by the use of the controller 20, the pictorialimage surrounding the object taken by the virtual camera 609 broadensfarther in front than the object depending on the increase amount of themoving speed. Accordingly when the moving speed of the controlled object601 is increased, it is possible to further effectively prevent thecontrol of the object from being extremely difficult for a player.

[0147] In addition, in this embodiment, the bank of the airplane, whichis represented by the controlled object 609, is determined depending onthe coordinate value on the X-Y coordinate, which is outputted from thecontroller 20 by the manipulation performed for the manipulation sticks31 a and 32 a of the controller 20. Moreover, a rise and drop of thenose of the airplane is also determined depending on the coordinatevalue on the X-Y coordinate. When the X-Y coordinate values on the X-Ycoordinate is within a predetermined range, it is judged that thecontrolled object 601 is allowed to perform a predetermined motion, thatis, a motion such as a rapid circular flight considered to be difficultfor a player to operate in the actual world. Then, the moving directionof the controlled object 601 is determined to be a direction requiredfor performing this motion.

[0148] With such constitution, it is possible to make the control forthe controlled object 601 simpler compared to the case where themanipulation sticks 31 a and 32 a of the controller 20 are allowed topossess quite the same function as that of the control stick.Accordingly, even an unskilled player can enjoy the flight simulationgame satisfactorily.

[0149] Note that the present invention is not limited to the abovedescribed embodiment, and various changes, substitutions andalternations can be made therein without departing from spirit and scopeof the invention.

[0150] In the foregoing embodiment, the camera setup point 606′calculated last time is taken into consideration for settling the camerasetup point 606 that is a disposing position of the virtual camera 609.However, the present invention is not limited to this. The camera setuppoint 606 is satisfactorily settled as long as a camera setup pointobtained at least one preceding calculation is taken into consideration.

[0151] For example, the camera setup point 606 may be settled at aposition, which approaches to the camera chasing point 604 from a middlepoint between the camera setup point 606′ and the camera chasing point604 by the distance L/M. The distance L/M is obtained by dividing thedistance L between the camera setup point 606′ obtained in one precedingcalculation and the camera chasing point 604 by a predetermined value M.

[0152] Alternatively, the camera setup point 606 may be settled at aposition approaching to the camera chasing point 604 from a middle pointby the distance L/M. The distance L/M is obtained by dividing thedistance L between the camera chasing point 604 and the middle point bythe predetermined value M. This middle point is located between thecamera setup point 606′ obtained in one preceding calculation and thecamera setup point 606″ obtained in two preceding calculation.

[0153] Although the above described embodiment was described using theexample in which the flight simulation game is performed by the use ofthe entertainment apparatus 1, the present invention is not limited tothis. For example, the present invention can be applied to cases inwhich performed are various TV games such as a drive simulation gamecapable of moving a controlled object in a virtual three dimensionalfield according to manipulation contents of a player received via thecontroller 20 by the use of the entertainment apparatus 1.

[0154] In the case where the drive simulation game is performed by theuse of the entertainment apparatus 1, when a coordinate value on the X-Ycoordinate is within a predetermined range, the coordinate value beingrepresented by a signal outputted from the controller 20 by amanipulation performed for the manipulation sticks 31 a and 32 a, themanipulation content reception section 801 judges that the controlledobject is allowed to perform an operation such as a rapid rotation thatis considered to be difficult for a player to perform in the actualworld. Then, the moving direction of the controlled object maybedetermined to be a direction required for performing this operation.

[0155] The method of settling the disposing position and direction ofthe virtual camera 609 in the present invention can be applied not onlyto the TV game but also to an apparatus which generates a moving pictureby photographing a display object moving in a virtual three dimensionalfield with a virtual camera.

[0156] An appearance and hardware structure of the entertainmentapparatus 1 are not limited to the ones shown in FIGS. 1, 2 and 4. Theentertainment apparatus 1 having a constitution of a general computermay be adopted, which is composed of: a CPU; a memory; an externalstorage device such as a hard disc device; a reading device for readingout data from a recording medium such as a CD-ROM and a DVD-ROM havingportability; an input device such as a keyboard and a mouse; a displaydevice such as a display; a data communication device for communicatingthrough a network of the Internet and the like; and an interface fordata transmission/reception among the above described devices.

[0157] A program for constructing the software structure shown in FIG. 6on the entertainment apparatus 1, as well as various data for specifyingmap constituent elements disposed in the three dimensional field and thethree dimensional shape of the controlled object, are read out from thestorage medium having the portability via the reading device, and may bestored in the memory and the external storage device. Alternatively,they may be downloaded from the network via the data communicationdevice, and stored in the memory and the external storage device.

[0158] As described above, according to the present invention, in theentertainment apparatus, displaying the moving picture on the displayscreen of the display device, which is obtained by photographing theobject moving in the virtual three dimensional field by the use of thevirtual camera, the entertainment apparatus makes it possible for aplayer to grasp a behavior of the object in the three dimensional fieldbased on the moving picture displayed on a display screen of a displaydevice.

[0159] Particularly, in the entertainment apparatus in which a playercan control the object moving in the virtual three dimensional field bythe use of the controller for the flight simulation and the drivesimulation, the player can more easily grasp the behavior of the objectin the virtual three dimensional field through the display screen, theobject being controlled by himself/herself. Thus, the feeling of beingis increased and entertainingness is improved.

What is claimed is:
 1. An entertainment apparatus which displays amoving picture on a display screen of a display device, the movingpicture being obtained by photographing an object moving in a virtualthree dimensional field, according to manipulation contents of amanipulator received via a controller, by the use of a virtual camera,comprising: object position calculating means for sequentiallycalculating a position and a moving direction of said object in saidthree dimensional field; and camera setup means for determining a setuppoint of said virtual camera in said three dimensional field every timethe position and moving direction of said object are calculated by saidobject position calculating means, while taking a setup point of thevirtual camera obtained at least in the last calculation intoconsideration.
 2. The entertainment apparatus according to claim 1 ,wherein, said camera setup means includes means for settling a camerachasing point at a position higher by a predetermined value H than aposition to the rear of said object from the position thereof by adistance K, the position being on a line which passes through a newlycalculated position of said object by said object position calculatingmeans and is parallel with a newly calculated moving direction of saidobject, and wherein said camera setup means settles a setup point ofsaid virtual camera at a position approaching said camera chasing pointfrom the setup point of said virtual camera obtained at least in thelast calculation.
 3. The entertainment apparatus according to claim 2 ,wherein said camera setup means settles the setup point of the virtualcamera at a position approaching said camera chasing point from thesetup point of said virtual camera obtained at least in the lastcalculation by a distance L/M, the distance L/M being obtained bydividing a distance L, which is between said camera chasing point andsaid virtual camera setup point, obtained at least in the lastcalculation, by a predetermined value M.
 4. The entertainment apparatusaccording to claim 3 , wherein, said camera setup means sets saiddistance K so as to be shorter as a moving speed of said object in saidthree dimensional field is increased.
 5. The entertainment apparatusaccording to claim 1 , wherein said camera setup means includes meansfor settling a camera reference point at a position in front of theposition of the object by a distance J, the position being on a linepassing through a newly calculated position of said object by saidobject position calculating means, and the line being parallel with anewly calculated moving direction of said object, and wherein saidcamera setup means settles a sight line direction of the virtual cameraso that said virtual camera is pointed at said camera reference point.6. The entertainment apparatus according to claim 5 , wherein, saidcamera setup means sets said distance J so as to be longer as a movingspeed of said object in said three dimensional field is increased. 7.The entertainment apparatus according to claim 1 , wherein, said camerasetup means rotates said virtual camera around a sight line direction ofsaid virtual camera as an axis in response to a rotation of said objectaround the moving direction as an axis.
 8. A storage medium storing aprogram which is read out and executed by a computer, said program beingread out and executed by said computer to realize means on saidcomputer, said means displaying a moving picture on a display screen ofa display device connected to the computer, obtained in such a mannerthat an object moving in a virtual three dimensional field according tomanipulation contents of a player, which are received by said computervia a controller connected to said computer, is photographed by avirtual camera, and said means comprises: object position calculatingmeans for sequentially calculating a position and a moving direction ofsaid object in said three dimensional field; and camera setup means fordetermining a setup point of said virtual camera in said threedimensional field every time the position and the moving direction ofsaid object are calculated by said object position calculating means,while taking the setup point of said virtual camera obtained at least inthe last calculation into consideration.
 9. The storage medium storingthe program according to claim 8 , wherein, said camera setup meansincludes means for settling a camera chasing point at a position higherby a predetermined value H than a position to the rear of said objectfrom the position thereof by a distance K, the position being on a linewhich passes through a newly calculated position of said object by saidobject position calculating means and is parallel with a newlycalculated moving direction of said object, and wherein, said camerasetup means settles a setup point of the virtual camera at a positionapproaching said camera chasing point from the setup point of saidvirtual camera obtained at least in the last calculation.
 10. Thestorage medium storing the program according to claim 9 , wherein, saidcamera setup means settles the setup point of the virtual camera at aposition approaching said camera chasing point from the setup point ofsaid virtual camera obtained at least in the last calculation by adistance L/M, the distance L/M being obtained by dividing a distance L,which is between said camera chasing point and said virtual camera setuppoint obtained at least in the last calculation, by a predeterminedvalue M.
 11. The storage medium storing the program according to claim10 , wherein, said camera setup means sets said distance K so as to beshorter as a moving speed of said object in said three dimensional fieldis increased.
 12. The storage medium storing the program according toclaim 8, wherein, said camera setup means includes means for settling acamera reference point at a position in front of the position of theobject by a distance J, the position being on a line passing through anewly calculated position of said object by said object positioncalculating means, and the line being parallel with a newly calculatedmoving direction of said object, and wherein, said camera setup meanssettles a sight line direction of the virtual camera so that saidvirtual camera is pointed at said camera reference point.
 13. Thestorage medium storing the program according to claim 12 , wherein, saidcamera setup means sets said distance J so as to be longer as a movingspeed of said object in said three dimensional field is increased. 14.The storage medium storing the program according to claim 8 , wherein,said camera setup means rotates said virtual camera around a sight linedirection of said virtual camera as an axis in response to a rotation ofsaid object around the moving direction as an axis.
 15. A programproduct which is read out and executed by a computer, said programproduct being executed by said computer to realize means on saidcomputer, said means displaying a moving picture on a display screen ofa display device connected to the computer, obtained in such a mannerthat an object moving in a virtual three dimensional field according tomanipulation contents of a player, which are received by said computervia a controller connected to said computer, is photographed by avirtual camera, and said means comprise: object position calculatingmeans for sequentially calculating a position and a moving direction ofsaid object in said three dimensional field; and camera setup means fordetermining a setup point of said virtual camera in said threedimensional field every time the position and the moving direction ofsaid object are calculated by said object position calculating means,while taking the setup point of the virtual camera obtained at least inthe last calculation into consideration.
 16. An object display method inwhich a moving picture is obtained by photographing an object moving ina virtual three dimensional field by the use of a virtual camera, anddisplayed on a display screen of a display device, comprising the stepsof: sequentially calculating a position and a moving direction of saidobject in said three dimensional field; and determining a setup point ofsaid virtual camera in said three dimensional field every time theposition and the moving direction of said object are calculated whiletaking a setup point of said virtual camera obtained at least in thelast calculation into consideration.